package corelayer;

/**
 * 操作するデバイスを表します。
 */
public interface IDevice {

    /**
     * パケットを送信します
     *
     * @param packet 送信するパケット
     */
    void send(IPacket packet);

    /**
     * 現在受信バッファにたまっているパケットの内最も古いものを一つ返します 何も受信してない場合はnullを返します
     *
     * @return 受信したパケット
     */
    IPacket recv();
}
